• 管理界面的字段信息
    • title" level="3">title
    • table_name" level="3">table_name
    • order" level="3">order
    • filter" level="3">filter
    • search_field" level="3">search_field
    • search_title" level="3">search_title
    • columns" level="3">columns
    • right_buttons" level="3">right_buttons
    • top_buttons" level="3">top_buttons

    管理界面的字段信息

    如果你的插件需要后台管理功能,可以定义管理界面的字段信息,前提是插件基本信息中要设置admin参数为1,表示你的插件有后台管理功能。

    管理界面的字段信息变量名为$admin。

    管理界面的字段参数有以下几种:

    参数含义类型必填
    title后台管理标题string
    table_name数据库表名,不含前缀。string
    order需要排序功能的字段,多个字段用逗号隔开string
    filter需要筛选功能的字段,多个字段用逗号隔开string
    search_title搜索框提示文字,一般不用填写string
    search_field需要搜索的字段,如果需要搜索,则必填,否则不填array
    columns后台列表字段array
    right_buttons右侧按钮array
    top_buttons顶部栏按钮array
    1. <?php
    2. namespace plugins\HelloWorld;
    3. use app\common\controller\Plugin;
    4. /**
    5. * 演示插件
    6. */
    7. class HelloWorld extends Plugin
    8. {
    9. /**
    10. * @var array 插件信息
    11. */
    12. public $info = [
    13. // 插件名[必填]
    14. 'name' => 'HelloWorld',
    15. // 插件标题[必填]
    16. 'title' => '你好,世界',
    17. // 插件唯一标识[必填],格式:插件名.开发者标识.plugin
    18. 'identifier' => 'helloworld.ming.plugin',
    19. // 插件图标[选填]
    20. 'icon' => 'fa fa-fw fa-globe',
    21. // 插件描述[选填]
    22. 'description' => '这是一个演示插件,会在每个页面生成一个提示“Hello World”。您可以查看源码,里面包含了绝大部分插件所用到的方法,以及能做的事情。',
    23. // 插件作者[必填]
    24. 'author' => 'CaiWeiMing',
    25. // 作者主页[选填]
    26. 'author_url' => 'http://www.dolphinphp.com',
    27. // 插件版本[必填],格式采用三段式:主版本号.次版本号.修订版本号
    28. 'version' => '1.0.0',
    29. // 是否有后台管理功能
    30. 'admin' => '1',
    31. ];
    32. /**
    33. * @var string 原数据库表前缀
    34. */
    35. public $database_prefix = 'dolphin_';
    36. /**
    37. * @var array 管理界面字段信息
    38. */
    39. public $admin = [
    40. 'title' => '', // 后台管理标题
    41. 'table_name' => 'plugin_hello', // 数据库表名,如果没有用到数据库,则留空
    42. 'order' => 'said,name', // 需要排序功能的字段,多个字段用逗号隔开
    43. 'filter' => '', // 需要筛选功能的字段,多个字段用逗号隔开
    44. 'search_title' => '', // 搜索框提示文字,一般不用填写
    45. 'search_field' => [ // 需要搜索的字段,如果需要搜索,则必填,否则不填
    46. 'said' => '名言',
    47. 'name' => '出处'
    48. ],
    49. // 后台列表字段
    50. 'columns' => [],
    51. // 右侧按钮
    52. 'right_buttons' => [],
    53. // 顶部栏按钮
    54. 'top_buttons' => []
    55. ];
    56. /**
    57. * 安装方法必须实现
    58. */
    59. public function install(){
    60. return true;
    61. }
    62. /**
    63. * 卸载方法必须实现
    64. */
    65. public function uninstall(){
    66. return true;
    67. }
    68. }

    title" class="reference-link">title

    后台管理标题,也可以不写,不写时默认显示”数据列表“

    table_name" class="reference-link">table_name

    数据库表名,不包含表前缀,如:admin_user。

    order" class="reference-link">order

    字段排序,用法请参考添加表头排序

    filter" class="reference-link">filter

    字段筛选,用法参考添加表头筛选

    一般这样使用

    1. 'filter' => '字段名1,字段名2'

    1.0.7版本支持设置选项列表

    1. 'filter' => [
    2. 'pay_type' => [
    3. ['alipay' => '支付宝', 'wxpay' => '微信', 'unionpay' => '银联']
    4. ],
    5. 'pay_status' => [
    6. ['未支付', '已支付']
    7. ]
    8. ]

    search_field" class="reference-link">search_field

    需要搜索的字段,如果需要搜索,则必填,否则不填。

    格式:'字段名' => '字段标题',比如

    1. 'search_field' => [
    2. 'user_name' => '用户名',
    3. 'email' => '邮箱'
    4. ],

    search_title" class="reference-link">search_title

    搜索框的提示,一般无需设置

    columns" class="reference-link">columns

    定义后台列表字段,用法请参考添加多列addColumns方法。

    比如:

    1. // 后台列表字段
    2. 'columns' => [
    3. ['id', 'ID'],
    4. ['said', '名言'],
    5. ['name', '出处'],
    6. ['status', '状态', 'switch'],
    7. ['right_button', '操作', 'btn'],
    8. ],

    right_buttons" class="reference-link">right_buttons

    定义右侧按钮

    添加系统自带的右侧按钮

    1. 'right_buttons' => [
    2. 'edit', // 使用系统自带的编辑按钮
    3. 'enable', // 使用系统自带的启用按钮
    4. 'disable', // 使用系统自带的禁用按钮
    5. 'delete', // 使用系统自带的删除按钮
    6. ]

    用法和添加多个右侧按钮的数组方式一致,可以修改按钮的属性。

    1. 'right_buttons' => [
    2. 'edit' => ['title' => '编辑'], // 使用系统自带的编辑按钮
    3. 'enable', // 使用系统自带的启用按钮
    4. 'disable', // 使用系统自带的禁用按钮
    5. 'delete', // 使用系统自带的删除按钮
    6. ]

    添加自定义右侧按钮

    1. 'right_buttons' => [
    2. 'customs' => [
    3. [
    4. 'title' => '自定义按钮1,新窗口打开',
    5. 'icon' => 'fa fa-list',
    6. 'href' => [
    7. 'url' => 'HelloWorld/Admin/testTable',
    8. ],
    9. 'target' => '_blank',
    10. ]
    11. ]
    12. ]

    按钮的url链接请填写”插件名/控制器/方法“。

    添加自定义右侧按钮并带有参数

    1. 'right_buttons' => [
    2. 'customs' => [
    3. [
    4. 'title' => '自定义按钮2,自定义参数',
    5. 'icon' => 'fa fa-list',
    6. 'href' => [
    7. 'url' => 'HelloWorld/Admin/testTable',
    8. 'params' => [
    9. 'id' => '__id__',
    10. 'table' => '__table__',
    11. 'name' => 'molly',
    12. 'age' => 12
    13. ]
    14. 'target' => '_blank',
    15. ]
    16. ]
    17. ]

    注意,如果要在链接上添加自定义参数,请在params上添加。

    也可以定义多个自定义按钮

    1. 'right_buttons' => [
    2. 'customs' => [
    3. [
    4. 'title' => '自定义按钮1,新窗口打开',
    5. 'icon' => 'fa fa-list',
    6. 'href' => [
    7. 'url' => 'HelloWorld/Admin/testTable',
    8. ],
    9. 'target' => '_blank',
    10. ],
    11. [
    12. 'title' => '自定义按钮2,自定义参数',
    13. 'icon' => 'fa fa-list',
    14. 'href' => [
    15. 'url' => 'HelloWorld/Admin/testTable',
    16. 'params' => [
    17. 'id' => '__id__',
    18. 'table' => '__table__',
    19. 'name' => 'molly',
    20. 'age' => 12
    21. ]
    22. 'target' => '_blank',
    23. ]
    24. ]
    25. ]

    注意,添加多个自定义按钮,不能有多个customs,多个按钮也是一起写在customs内容,以下写法是错误的。

    1. 'right_buttons' => [
    2. 'customs' => [
    3. [
    4. 'title' => '自定义按钮1,新窗口打开',
    5. 'icon' => 'fa fa-list',
    6. 'href' => [
    7. 'url' => 'HelloWorld/Admin/testTable',
    8. ],
    9. 'target' => '_blank',
    10. ]
    11. ],
    12. 'customs' => [
    13. [
    14. 'title' => '自定义按钮2,自定义参数',
    15. 'icon' => 'fa fa-list',
    16. 'href' => [
    17. 'url' => 'HelloWorld/Admin/testTable',
    18. 'params' => [
    19. 'id' => '__id__',
    20. 'table' => '__table__',
    21. 'name' => 'molly',
    22. 'age' => 12
    23. ]
    24. 'target' => '_blank',
    25. ]
    26. ]
    27. ]

    top_buttons" class="reference-link">top_buttons

    定义顶部按钮,用法和上面的基本相同。

    添加系统自带的按钮

    1. // 顶部栏按钮
    2. 'top_buttons' => [
    3. 'add', // 使用系统自带的添加按钮
    4. 'enable', // 使用系统自带的启用按钮
    5. 'disable',// 使用系统自带的禁用按钮
    6. 'delete', // 使用系统自带的删除按钮
    7. 'back', // 使用系统自带的返回按钮
    8. // 自定义按钮,可定义多个
    9. 'customs' => [
    10. [
    11. 'title' => '<i class="fa fa-list"></i> 自定义按钮1',
    12. 'href' => [
    13. 'url' => 'HelloWorld/Admin/testTable',
    14. ],
    15. 'target' => '_blank',
    16. ],
    17. // 自定义按钮并带有参数
    18. [
    19. 'title' => '<i class="fa fa-user"></i> 自定义按钮2',
    20. 'href' => [
    21. 'url' => 'HelloWorld/Admin/testForm',
    22. 'params' => [
    23. 'name' => 'molly',
    24. 'age' => 12
    25. ]
    26. ],
    27. ]
    28. ],
    29. ],